home *** CD-ROM | disk | FTP | other *** search
- .TH CINTERP
- 6 "IRIT Version 6.0"
- .SH NAME
- CINTERP
-
-
-
- CurveType CINTERP( ListType PtList, NumericType Order, NumericType Size,
- ConstantType Param, NumericType Periodic)
-
- Computes a Bspline polynomial curve that interpolates or approximates
- the list of points in PtList. The Bspline curve will have order
- Order and Size control points, and will be periodic if
- periodic is none zero. The knots will be spaced according to
- Param which can be one of PARAM_UNIFORM, PARAM_CHORD or
- PARAM_CENTRIP. The former prescribes a uniform knot sequence and the
- latters specify knot spacing according to the chord
- length and a square root of the chord length. A periodic curve will be
- coerced to have PARAM_UNIFORM knot sequence.
- Use of Periodic end conditions can create cases with degenerated
- linear systems (determinant equal zero). Increase or decrease of the
- Order of the Bspline by one will resolve the problem.
- All points in PtList must be of type (E1-E5, P1-P5) control point,
- or regular PointType. If Size is equal to the number of points in
- PtList the resulting curve will interpolate the data set.
- Otherwise, if Size is less than the number of points in PtList
- the point data set will be least square approximated. In no time can Size
- be lower than Order. Size of zero forces interpolation by
- setting Size to the data set size.
- All interior knots will be distinct preserving maximal continuity.
- The resulting Bspline curve will have open end conditions.
-
- Example:
-
- pl = nil();
- for ( x = 0, 1, 100,
- snoc(point(cos(x / 5), sin(x / 5), x / 50 - 1), pl)
- );
- c = CINTERP( pl, 3, 21, PARAM_UNIFORM );
-
- Samples a helical curve at 100 points and least square fit a quadratic
- Bspline curve with 21 point to the data set. The curve will have a uniform
- knot spacing.
-